<?php
// | Copyright (c) 2019~2020 http://jiunidu.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: huanglijun <80792275@qq.com>
// +----------------------------------------------------------------------

namespace other;

use think\cache\driver\Redis;
use \think\facade\Env;
/**
 * 
 * 扩展TP5，Redis类
 *
 */
class BaseRedis extends Redis
{
    /**
     * 结构函数
     * @access public
     * @param  array $options 缓存参数
     */
    public function __construct($options = [])
    {
        $redis_options = [
            'type'	    =>	'redis',
            'host'	    =>	 Env::get('redis.host'),
            'port'      =>   Env::get('redis.port'),
            'password'  =>   Env::get('redis.password'),
            'timeout'   =>   Env::get('redis.timeout'),
            // 全局缓存有效期（0为永久有效）
            'expire'=>  0, 
            // 缓存前缀
            'prefix'=>  '',
        ];
        if (!empty($options)) 
        {
            $redis_options = array_merge($redis_options, $options);
        }
        parent::__construct($redis_options);
    }

     /**
     * 获取值长度
     * @param string $key
     * @return int
     */
    public  function lLen($key)
    {
        return $this->handler->lLen($key);
    }
 
    /**
     * 将一个或多个值插入到列表头部
     * @param $key
     * @param $value
     * @return int
     */
    public  function LPush($key, $value, $value2 = null, $valueN = null)
    {
        return  $this->$handler->lPush($key, $value, $value2, $valueN);
    }
 
    /**
     * 移出并获取列表的第一个元素
     * @param string $key
     * @return string
     */
    public  function lPop($key)
    {
        return  $this->$handler->lPop($key);
    }

}